$(function (){
	/******************初始化******************/
	const form=layui.form;
	// 数据产品信息
	let productInfo={};
	// 分类级联选择器 多选
	let typeIdListCas=layui.layCascader({
		elem:'#typeIdListCas',
		clearable:true,
		props:{
			multiple: true,
			checkStrictly: true,
			lazy:true,
			lazyLoad(node, resolve) {
				console.log('node', node)
				console.log('(node.value===10001||node.value===10000)', (node.value===10001||node.value===10000))
				listFieldType({
					keyword: null,
					parentId:(node.value===10001||node.value===10000)?0:node.value,
					systemCatalogId:null,
					catalogTypes:'0,1,2'
				}).then(res=>{
					if (res.code===200){
						const nodes=res.rows.map(item=>{
							return {
								value: item.id,
								label:item.fieldName,
								leaf: !item.exitSon
							}
						});
						resolve(nodes)
					}
				})
			}
		}
	})
	// 关键词级联选择器
	let keywordCas = layui.layCascader({
		elem: '#keywordCas',
		clearable: true,
		// options: data,
		props: {
			multiple: true,
			checkStrictly: true
		},
		// value: selectTypeIdList
	});
	// 申购规则级联选择器
	let buyRuleCas = layui.layCascader({
		elem: '#buyRuleCas',
		clearable: true,
		// options: data,
		props: {
			checkStrictly: true
		},
		// value: selectTypeIdList
	});
	// 可见规则级联选择器
	let controlRuleCas = layui.layCascader({
		elem: '#controlRuleCas',
		clearable: true,
		filterable: true,
		// options: data,
		props: {
			checkStrictly: true
		},
		// value: selectTypeIdList
	});
	controlRuleCas.changeEvent(function (value,node){
		console.log('value',value)
		console.log('node',node)
	})

	// 混合套餐的数据产品下拉选择框
	let PackageDataProductCas = layui.layCascader({
		elem: '#PackageDataProductCas',
		clearable: true,
		// options: data,
		props: {
			multiple: true,
			checkStrictly: true
		},
	});
	// 混合套餐的算法产品下拉选择框
	let PackageAlgProductCas = layui.layCascader({
		elem: '#PackageAlgProductCas',
		clearable: true,
		// options: data,
		props: {
			multiple: true,
			checkStrictly: true
		},
	});
	// 申购规则id
	let buyRuleId=0;
	// 可见规则id
	let controlRuleId=0;
	// 算法文件url
	let algorithmUrl='';
	//混合套餐名称
	let productMixName = '';
	// 申购规则radio
	let buyRuleType=2
	// 可见规则radio
	let controlRuleType=2

	// 数据产品详情
	//获取数据产品详情
	if(parent.window.dataProductId){
		let loading = layer.load(1);
		$.ajax({
       timeout:30000,
			url: window.Http + "/dataProduct/"+parent.window.dataProductId,
			type: 'GET',
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			success: function (res) {
				layer.close(loading);
				if (res.code === 200) {
					productInfo=res.data;
					$("#productIconUrl").attr("src",res.data.iconUrl);
					form.val("productRegisterForm",{
						...productInfo,
						"productType":productInfo.sourceType
					});
					keywordCas.setValue()
					// // 输入输出参数表格渲染
					// try {
					// 	// 尝试解析输出参数 JSON 字符串
					// 	productInfo.exportParam=JSON.parse(productInfo.exportParam)
					// 	console.log('第一次渲染输出参数')
					// 	productInfo.exportParam.forEach((item,index)=>{
					// 		console.log('参数表格渲染',)
					// 		let html=inputParamTableRow(index+1,item);
					// 		form.render($(`.output${index+1}`))
					// 		$('#outputProductParamTable tbody').append(html);
					// 	})
					// } catch (error) {
					// 	layer.msg('输入参数格式不正确')
					// }
					// console.log('第一次渲染输入参数')
					// productInfo.dataproductParamList.forEach((item,index)=>{
					// 	console.log('参数表格渲染',)
					// 	let html=outputParamTableRow(index+1,item);
					// 	$('#inputProductParamTable tbody').append(html);
					// 	form.render($(`.input${index+1}`))
					// })
					// 规则类型赋值
					$(".ruleTypeBox").find(".ruleChoose").addClass("disabledNone")
					if (productInfo.buyRuleId===-1){//无条件使用
						form.val('productRegisterForm',{
							"ruleType":"4"
						})
						$('.ruleTypeBox').siblings(".ruleChoose").removeClass("disabledNone");
					}else if (productInfo.buyRuleId===0){//继承数据通道
						form.val('productRegisterForm',{
							"ruleType":"1"
						})
						$('.ruleTypeBox').siblings(".ruleChoose").removeClass("disabledNone");
					}else {//其他值
						form.val('productRegisterForm',{
							"ruleType":"2"
						})
						$('.ruleTypeBox .ruleChooseSelect').removeClass("disabledNone")
						buyRuleCas.setValue(productInfo.buyRuleId)
					}
				}else{
					layer.msg(res.msg);
				}
			}
		})
	}else if (parent.window.mixProductName){
		$.ajax({
       timeout:30000,
			url: window.Http +'/productMix/list/all' ,
			type:"GET" ,
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			data: {
				keyword	: parent.window.mixProductName
			},
			success: function (res) {
				if (res.code === 200) {
					$(".algProduct").addClass("disabledNone");
					$(".applyProduct").addClass("disabledNone");
					$(".notPackage").addClass("disabledNone");
					$(".Package").removeClass("disabledNone");
					getDataProductListReq();
					getAlgProductListReq();
					const productInfo=res.data;
					console.log('productInfo' ,productInfo)
					form.val("productRegisterForm",{
						"productMixName":productInfo.productMixName,
						"remark":productInfo.remark,
						"productType":6
					});
					PackageDataProductCas.setValue(productInfo.productSonIdList)
					PackageAlgProductCas.setValue(productInfo.productSonIdList)
				} else {
					layer.msg(res.msg)
				}
			}
		})
	}
	/******************事件处理部分******************/

	// 切换产品类型
	layui.form.on('radio(productType)', function(data){
		let index = data.value;
		// $('.definition').eq(index).addClass("selShow").siblings(".definition").removeClass('selShow');
		if(Number(index) === 3){
			$(".applyProduct").addClass("disabledNone");
			$(".Package").addClass("disabledNone");
			$(".notPackage").removeClass("disabledNone");
			$(".algProduct").removeClass("disabledNone");
		}else if (Number(index)===5){
			$(".Package").addClass("disabledNone");
			$(".algProduct").addClass("disabledNone");
			$(".notPackage").removeClass("disabledNone");
			$(".applyProduct").removeClass("disabledNone");
		}else if (Number(index)===6){//混合套餐
			$(".algProduct").addClass("disabledNone");
			$(".applyProduct").addClass("disabledNone");
			$(".notPackage").addClass("disabledNone");
			$(".Package").removeClass("disabledNone");
			getDataProductListReq();
			getAlgProductListReq();
		}
	});

	//上传图标文件
	let IconUrl = "";
	$('#customFile').change(function (event) {
		for (let i = 0; i < event.target.files.length; i++) {
			// 获取input上传附件
			let file = event.target.files[i];
			uploadFile(file).then(res=>{
				IconUrl = res.url;
				$("#productIconUrl").attr("src", IconUrl);
			});
		}
	});
	// 上传算法文件
	$('#algorithmFile').change(function (event) {
		for (let i = 0; i < event.target.files.length; i++) {
			// 获取input上传附件
			let file = event.target.files[i];
			uploadFile(file).then(res=>{
				algorithmUrl=res.url;
			});
		}
	});
	//注册应用产品选择混合套餐
	layui.form.on('select(selectProductMixName)', function(data){
		productMixName = data.value;
	});

	// 切换申购规则控制管理
	layui.form.on('radio(buyRuleType)', function(data){
		buyRuleType=data.value
		$(".buyRuleTypeBox").find(".ruleChoose").addClass("disabledNone")
		if(data.value === "2"){//重新选择
			$(this).siblings(".ruleChooseSelect").removeClass("disabledNone");
			// 请求申购规则列表
			$.ajax({
      			 timeout:30000,
				url: window.Http + "/system/buy/list/all",
				type: 'GET',
				headers: {
					'Authorization': "Bearer " + sessionStorage.getItem('Token')
				},
				data: {
					systemBuyType: '2'
				},
				success: function (res) {
					if (res.code===200){
						buyRuleCas.setOptions(dataFormat(res.rows,'id','systemBuyName'))
					}
				}
			})
		}else if(data.value === "3"){//重新制定
			$(this).siblings(".ruleChoose").removeClass("disabledNone");
		}else if(data.value === "4"){//无条件使用
			buyRuleId = -1;
			$(this).siblings(".ruleChoose").removeClass("disabledNone");
		}else{//继承数据通道控制
			buyRuleId = 0;
			$(this).siblings(".ruleChoose").removeClass("disabledNone");
		}
	});
	// 切换可见规则控制管理
	layui.form.on('radio(controlRuleType)', function(data){
		$(".controlRuleTypeBox").find(".ruleChoose").addClass("disabledNone")
		controlRuleType=data.value
		if(data.value === "2"){//重新选择
			$(this).siblings(".ruleChooseSelect").removeClass("disabledNone");
		}else if(data.value === "3"){//重新制定
			$(this).siblings(".ruleChoose").removeClass("disabledNone");
		}else if(data.value === "4"){//无条件使用
			controlRuleId = -1;
			$(this).siblings(".ruleChoose").removeClass("disabledNone");
		}else{//继承数据通道控制
			controlRuleId = 0;
			$(this).siblings(".ruleChoose").removeClass("disabledNone");
		}
	});
	let inputParamsIndex=0;
	// 输入参数部分 新增一行
	$('#inputProductParamTable').on('click','.addServiceInputParamItem',function (){
		console.log('点击新增一行')
		inputParamsIndex+=1;
		let html=inputParamTableRow(inputParamsIndex)
		$('#inputProductParamTable tbody').append(html);
		form.render($(`.input${inputParamsIndex}`))
	})
	// 输入参数部分 删除一行
	$('#inputProductParamTable').on('click','.deleteServiceInputParamItem',function (){
		console.log('delete', )
		// 找到当前点击的按钮所在的行
		const $row = $(this).closest('tr');
		// 获取行中的index值
		const index = $row.find('.index').text();
		// 现在你可以使用index进行需要的操作
		console.log('要删除的行的index：', index);
		// 在这里执行删除行的操作
		$row.remove();
	})
	let outputParamsIndex=0;
	// 输出参数部分 新增一行
	$('#outputProductParamTable').on('click','.addServiceOutputParamItem',function (){
		outputParamsIndex+=1;
		console.log('输出参数新增')
		let html=outputParamTableRow(outputParamsIndex)
		$('#outputProductParamTable tbody').append(html);
		form.render($(`.output${outputParamsIndex}`))
	})
	// 输出参数部分 新增一行
	$('#outputProductParamTable').on('click','.deleteServiceOutputParamItem',function (){
		console.log('delete', )
		// 找到当前点击的按钮所在的行
		const $row = $(this).closest('tr');

		// 获取行中的index值
		const index = $row.find('.index').text();
		// 现在你可以使用index进行需要的操作
		console.log('要删除的行的index：', index);
		// 在这里执行删除行的操作
		$row.remove();
	})
	// 参数文件url
	let appProductUrl=''
	// 上传参数文件
	$('#paramsFile').change(function (event) {
		for (let i = 0; i < event.target.files.length; i++) {
			// 获取input上传附件
			let file = event.target.files[i];
			uploadFile(file).then(res=>{
				appProductUrl=res.url;
			});
		}
	});

	// 提交按钮
	$("body").on("click",'#submitForm',function (e){
		e.preventDefault();
		let params;
		let formData = form.val("productRegisterForm");
		console.log('formData',formData)
		if(productInfo){
			for(let key in formData){
				productInfo[key] = formData[key];
			}
			params = productInfo;
		}else{
			params = formData;
		}
		// // 处理输入输出参数
		// if (params.dataproductParamList!==''){
		// 	console.log('存在',params.dataproductParamList)
		// 	try {
		// 		// 尝试解析 JSON 字符串
		// 		params.dataproductParamList = JSON.parse(params.dataproductParamList);

		// 		// 如果 JSON 解析成功，可以继续执行其他操作
		// 		console.log(params.dataproductParamList);
		// 	} catch (error) {
		// 		layer.msg('输入参数格式不正确')
		// 	}
		// }else {
		// 	console.log('不存在',params.dataproductParamList)
		// 	delete params.dataproductParamList
		// }
		params.keywordList=keywordCas.getCheckedNodes().map(item=>item.data.label)
		params.status = 2;
		params.typeIdList=typeIdListCas.getCheckedValues();
		params.appProductUrl=appProductUrl
		SubmitRequest(params);
	})
	//保存
	$("body").on("click",'#saveForm',function (e){
		e.preventDefault();
		let formData = layui.form.val("productRegisterForm");
		let params;
		if(productInfo){
			for(let key in formData){
				productInfo[key] = formData[key];
			}
			params = productInfo;
		}else{
			params = formData;
		}
		// // 处理输入输出参数
		// if (params.dataproductParamList!==''){
		// 	console.log('存在',params.dataproductParamList)
		// 	try {
		// 		// 尝试解析 JSON 字符串
		// 		params.dataproductParamList = JSON.parse(params.dataproductParamList);

		// 		// 如果 JSON 解析成功，可以继续执行其他操作
		// 		console.log(params.dataproductParamList);
		// 	} catch (error) {
		// 		layer.msg('输入参数格式不正确')
		// 	}
		// }else {
		// 	console.log('不存在',params.dataproductParamList)
		// 	delete params.dataproductParamList
		// }
		params.status = -1;
		params.typeIdList=typeIdListCas.getCheckedValues();
		SubmitRequest(params)
	})

	/******************功能函数部分******************/
	/**
	 * @Date：2023-09-26, 周二, 13:20
	 * @description:请求并渲染数据产品选择列表
	 */
	function getDataProductListReq(){
		$.ajax({
       timeout:30000,
			url: window.Http + "/dataProduct/list/all",
			type: 'GET',
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			data: {ownUserId: sessionStorage.getItem('userId'),sourceTypeList:'1,2,4'},
			success: function (res) {
				if (res.code === 200 && res.data && res.data.length>0) {
					// let html = `<option value="">请选择数据产品</option>`;
					// res.data.forEach(function (val, index) {
					// 	html += `<option value="${val.id}">${val.productName}</option>`
					// })
					// $(".PackageDataProduct").empty().append(html);
					// layui.form.render();
					PackageDataProductCas.setOptions(dataFormat(res.data,'id','productName'))
				} 
			}
		})
	}
	/**
	 * @Date：2023-09-26, 周二, 13:20
	 * @description:函数描述	//请求并渲染算法产品选择列表
	 */
	function getAlgProductListReq(){
		$.ajax({
       timeout:30000,
			url: window.Http + "/dataProduct/list/all",
			type: 'GET',
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			data: {ownUserId: sessionStorage.getItem('userId'),sourceType: 3},
			success: function (res) {
				if (res.code === 200 && res.data && res.data.length>0) {
					// let html = `<option value="">请选择算法产品</option>`;
					// res.data.forEach(function (val, index) {
					// 	html += `<option value="${val.id}">${val.algName}</option>`
					// })
					// $(".PackageAlgProduct").empty().append(html);
					// layui.form.render();
					PackageAlgProductCas.setOptions(dataFormat(res.data,'id','algName'))
				}
			}
		})
	}
	//混合套餐产品列表
	function mixPackageProductFun() {		
		$.ajax({
       timeout:30000,
			url: window.Http + "/productMix/list/all",
			type: 'GET',
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			success: function (res) {
				if (res.code === 200) {
					if (res.data && res.data.length > 0) {
						let html = `<option value="">请选择混合套餐</option>`;
						res.data.forEach(function (val, index) {
							html += `<option value="${val.productMixName}">${val.productMixName}</option>`
						})
						$(".selectProductMixName").empty().append(html);
						layui.form.render();
					}else{
						$('.selectProductMixTip').removeClass('disabledNone');
					}
				}
			}
		})
	}
	mixPackageProductFun();

	/**
	 * @description:函数描述 请求并渲染关键级联选择框
	 */
	// 关键词列表
	function keywordListReq(keyword) {
		// 请求关键字
		return new Promise(function (resolve, reject) {
			$.ajax({
       timeout:30000,
				url: window.Http + "/system/field/keyword",
				type: 'GET',
				headers: {
					'Authorization': "Bearer " + sessionStorage.getItem('Token')
				},
				data: {keyword},
				success: function (res) {
					if (res.code === 200) {
						// keywordCas.setOptions(dataFormat(res.data.keywordList,'id','resourceName'))
						resolve(res)
					} else {
						layer.msg('获取关键词列表失败')
						reject(new Error("请求失败")); // 失败时将错误传递给调用者
					}
				}
			})
		})
	}
	keywordListReq('').then(res=>{
		const optArr=res.data.map((item,index)=>{
			return {value:index,label:item}
		})
		keywordCas.setOptions(optArr)
	})
	// 分类下拉请求
	function listFieldType(params){
		return new Promise(function(resolve, reject) {
			$.ajax({
       timeout:30000,
				url: window.Http +'/system/field/list' ,
				type:"GET" ,
				headers: {
					'Authorization': "Bearer " + sessionStorage.getItem('Token')
				},
				data:params,
				success: function (res) {
					if (res.code === 200) {
						resolve(res); // 成功时将响应传递给调用者
					} else {
						reject(new Error("请求失败")); // 失败时将错误传递给调用者
					}
				},
				error: function (xhr, status, error) {
					reject(new Error("请求出错：" + error)); // 失败时将错误传递给调用者
				}
			})
		})
	}

	//处理参数并提交
	function SubmitRequest(params){
		if(params.productType==="6"){//混合套餐
			const {productMixName,remark} = params;
			let productSonIdList = []
			let PackageDataProductIdList=PackageDataProductCas.getCheckedValues();
			let PackageAlgProductIdList=PackageDataProductCas.getCheckedValues();
			if (PackageAlgProductIdList.length===0&&PackageDataProductIdList.length===0){
				layer.msg("请选择数据产品和算法产品");
			}else if (PackageAlgProductIdList.length===0){
				layer.msg("请选择算法产品");
			}else if (PackageDataProductIdList.length===0){
				layer.msg("请选择数据产品");
			}else {
				productSonIdList=[
					...PackageAlgProductIdList,
					...PackageDataProductIdList
				]
			}
			let parame = {
				productMixName,
				remark,
				productSonIdList,
				id: productInfo.id || null
			}
			console.log(params)
			if(parame.id){//修改
				requestPackageAjax(parame,"PUT");
			}else{
				requestPackageAjax(parame,"POST");
			}
		}else{
			//目录暂时不传
			// params.typeIdList = selectTypeIdList;
			params.id = productInfo.id || null;
			params.createType = 0;// 创建者类型为自己创建
			params.iconUrl = IconUrl||params.iconUrl;
			params.algFileUrl = algorithmUrl||params.algFileUrl;
			// if (params.productType===3){
			// 	params.controlRuleId = 0;
			// }else if (params.productType===3){
			// 	params.controlRuleId = -1;
			// }
			if (buyRuleType==='2') {//重新选择

				buyRuleId=buyRuleCas.getCheckedValues()|| -1;
			}
			if (controlRuleType==='2') {//重新选择

				controlRuleId=controlRuleCas.getCheckedValues()|| -1;
			}
			params.buyRuleId = buyRuleId;
			params.controlRuleId = controlRuleId;
			params.controlRuleId = -1;
			params.generationMode = 0;
			params.sourceType = params.productType;
			params.typeIdList = [];
			// params.isAuth = Number(params.isAuth);
			params.isAuth=params.isAuth !== '0';
			params.productMixName = productMixName || params.productMixName;
			console.log(params)
			if(params.id){//修改
				requestAjax(params,"PUT");
			}else{
				requestAjax(params,"POST");
			}
		}
		
	}
	// 算法产品和应用产品 修改或新增请求
	//Type新增POST，修改PUT
	function requestAjax(params,Type){
		$.ajax({
       timeout:30000,
			url: window.Http + "/dataProduct",
			type: Type,
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			data: JSON.stringify(params),
			contentType:"application/json",
			success: function (res) {
				if (res.code === 200) {
					layer.msg("操作成功");
					setTimeout(function(){
						let index = parent.layer.getFrameIndex(window.name);
						//再执行关闭
						parent.layer.close(index);
						window.parent.$("#reloadTable").click();//执行父页面的事件
						//window.parent.location.reload();
					},1000)
				}else if(res.msg){
					layer.msg(res.msg);
				}else{
					layer.msg("操作失败");
				}
			}
		})
	}
	/**
	 * @description:函数描述 混合套餐注册和修改请求
	 * @return 返回值
	 * @param params {Object} 提交的参数
	 * @param Type {String} 修改-PUT还是新增-POST
	 */
	function requestPackageAjax(params,Type){
		$.ajax({
       timeout:30000,
			url: window.Http + "/productMix",
			type: Type,
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			data: JSON.stringify(params),
			contentType:"application/json",
			success: function (res) {
				if (res.code === 200) {
					layer.msg("操作成功");
					setTimeout(function(){
						let index = parent.layer.getFrameIndex(window.name);
						//再执行关闭
						parent.layer.close(index);
						// window.parent.$("#reloadTable").click();//执行父页面的事件
						//window.parent.location.reload();
					},1000)
				}else if(res.msg){
					layer.msg(res.msg);
				}else{
					layer.msg("操作失败");
				}
			}
		})
	}
	// 数据转换成级联列表需要的样式
	// data:原始数组，value:绑定的值（id），label：标签显示值，返回正确格式数组
	function dataFormat(data,value,label){
		let arr=[]
		data.forEach(function (item,index){
			arr[index]={value:'',label:''}
			arr[index].value=data[index][value];
			arr[index].label=data[index][label]
		})
		return arr;
	}

	/**
	 * @Date：2023-09-26, 周二, 9:48
	 * @description:函数描述 获取参数表格一行的数据
	 * @return {{paramKey: string, paramType: string, relationshipType: number, remark: string, paramName: string, chooseType: string}}
	 * @param row
	 */
	function getParamTableRowValue(row){
		// 参数表格
		let paramItem={
			paramKey:'',
			paramName:'',
			paramType:'',
			relationshipType:1,
			chooseType:'0',
			remark:''
		}
		paramItem.paramKey = $(row).find('.layui-input[name="paramKey"]').val();
		paramItem.paramName = $(row).find('.layui-input[name="paramName"]').val();
		paramItem.paramType = $(row).find('.layui-input[name="paramType"]').val();
		paramItem.remark = $(row).find('.layui-input[name="remark"]').val();
		paramItem.relationshipType =Number($(row).find('.select[name="relationshipType"]').val());
		paramItem.chooseType = Number($(row).find('.select[name="chooseType"]').val());
		return paramItem;
	}
	/**
	 * @Date：2023-09-26, 周二, 9:50
	 * @description:函数描述 根据index和data生成输入参数表格一行的html
	 * @return string {String}
	 * @param index {number}
	 * @param data {Object}
	 */

	function inputParamTableRow(index,data={}){
		console.log('渲染表格行')
		return `
		<tr>
    		<td class="index">${index}</td>
    		<td>
    		    <input type="text" name="paramKey" class="layui-input" value=${data?.paramKey?data?.paramKey:''}>
    		</td>
    		<td>
    		    <input type="text" name="paramName" class="layui-input" value=${data?.paramName?data?.paramName:''}>
    		</td>
    		<td>
    		    <input type="text" name="paramType" class="layui-input" value=${data?.paramType?data?.paramType:''}>
    		</td>
    		<td>
    		    <input type="text" name="paramType" class="layui-input" value=${data?.paramDefault?data?.paramDefault:''}>
			</td>
    		<td>
    		    <input type="text" name="remark" class="layui-input" value=${data?.remark?data?.remark:''}>
    		</td>
    		<td>
    		    <button class="layui-btn layui-btn-xs addServiceInputParamItem" type="button">新增</button>
    		    <button class="layui-btn  layui-btn-xs deleteServiceInputParamItem" type="button">删除</button>
    		</td>
</tr>

		`;
	}
	/**
	 * @Date：2023-09-26, 周二, 9:50
	 * @description:函数描述 根据index和data生成输出参数表格一行的html
	 * @return string {String}
	 * @param index {number}
	 * @param data {Object}
	 */
	function outputParamTableRow(index,data={}){
		console.log('渲染表格行')
		return `
		<tr>
    		<td class="index">${index}</td>
    		<td>
    		    <input type="text" name="paramKey" class="layui-input" value=${data?.paramKey?data?.paramKey:''}>
    		</td>
    		<td>
    		    <input type="text" name="paramName" class="layui-input" value=${data?.paramName?data?.paramName:''}>
    		</td>
    		<td>
    		    <input type="text" name="paramType" class="layui-input" value=${data?.paramType?data?.paramType:''}>
    		</td>
    		<td>
    		    <input type="text" name="remark" class="layui-input" value=${data?.remark?data?.remark:''}>
    		</td>
    		<td>
    		    <button class="layui-btn layui-btn-xs addServiceOutputParamItem" type="button">新增</button>
    		    <button class="layui-btn layui-btn-xs deleteServiceOutputParamItem" type="button">删除</button>
    		</td>
</tr>

		`;
	}

	// 可见规则请求
	function controlRuleReq(){
		// 请求申购规则列表
		$.ajax({
			timeout:30000,
			url: window.Http + "/system/control/list/all",
			type: 'GET',
			headers: {
				'Authorization': "Bearer " + sessionStorage.getItem('Token')
			},
			data: {
				systemBuyType: '1'
			},
			success: function (res) {
				if (res.code===200){
					controlRuleCas.setOptions(dataFormat(res.data,'id','systemControlName'))
				}else {
					layer.msg(res.msg)
				}
			}
		})
	}
	controlRuleReq()
})
